<?php

namespace api\zwt\controller;

use cmf\controller\RestBaseController;
use Qiniu\Auth;
use Qiniu\Storage\UploadManager;
use think\facade\Filesystem;


class updateController extends RestBaseController
{
    public function local(){
        $file = request()->file('image');
        // 上传到本地服务器
        $result = Filesystem::disk('public')->putFile('image',$file);
        if($result){
            $this->success('图片上传成功',[
                'url'=>  $result
            ]);
        }
    }
//request()->domain(). '/storage/'

    public function qiniu()
    {
        $file = request()->file('file');
        //halt($file);
        if(!$file)
        {
            halt('file error');
        }
        //halt($key = time() . '.' . $file->getOriginalExtension());
        // 需要填写你的 Access Key 和 Secret Key
        $accessKey = config('app.qiniuOss.accessKey');
        $secretKey = config('app.qiniuOss.secretKey');
        $bucket = config('app.qiniuOss.bucket');

        // 构建鉴权对象
        $auth = new Auth($accessKey, $secretKey);

        // 生成上传 Token
        $token = $auth->uploadToken($bucket);
        //C:\Windows\php1FB7.tmp
        // 要上传文件的本地路径
        $filePath = $file->getPathname();

        // 上传到存储后保存的文件名
        $key = time() . '.' . $file->getOriginalExtension();
        // 初始化 UploadManager 对象并进行文件的上传。
        $uploadMgr = new UploadManager();
        // 调用 UploadManager 的 putFile 方法进行文件的上传。
        list($return, $error) = $uploadMgr->putFile($token, $key, $filePath);
        if ($error !== null) {
            halt($error->message());
            //$this->error('上传失败');
        } else {
            //halt($return->message());
            $this->success('上传成功',[
                'url' => 'http://sel2uzg2n.hb-bkt.clouddn.com/'. $return['key']
          ]);
        }

    }
}
